home *** CD-ROM | disk | FTP | other *** search
-
-
- /**********************************************************
- *
- * a demo of animation using paths. flies a glider
- * around in a circle. the glider always points
- * in the direction it's going.
- *
- * there a 40 frames in this animation
- *
- **********************************************************/
-
- int numframes = 40
-
- real glider_alt = 15 ; the altitude the glide flies at
- real gnd_alt = 0 ; the altitude of the ground
- real circ_rad = 30 ; the radius of the glider's circle
-
- real dpf = 360/numframes ; the no. of degrees around the
- ; circle the glider travels
- ; each frame
-
- path glider_path = {
- <circ_rad*cos(dpf*0), glider_alt, circ_rad*sin(dpf*0)>,
- <circ_rad*cos(dpf*1), glider_alt, circ_rad*sin(dpf*1)>,
- <circ_rad*cos(dpf*2), glider_alt, circ_rad*sin(dpf*2)>,
- <circ_rad*cos(dpf*3), glider_alt, circ_rad*sin(dpf*3)>,
- <circ_rad*cos(dpf*4), glider_alt, circ_rad*sin(dpf*4)>,
- <circ_rad*cos(dpf*5), glider_alt, circ_rad*sin(dpf*5)>,
- <circ_rad*cos(dpf*6), glider_alt, circ_rad*sin(dpf*6)>,
- <circ_rad*cos(dpf*7), glider_alt, circ_rad*sin(dpf*7)>,
- <circ_rad*cos(dpf*8), glider_alt, circ_rad*sin(dpf*8)>,
- <circ_rad*cos(dpf*9), glider_alt, circ_rad*sin(dpf*9)>,
- <circ_rad*cos(dpf*10), glider_alt, circ_rad*sin(dpf*10)>,
- <circ_rad*cos(dpf*11), glider_alt, circ_rad*sin(dpf*11)>,
- <circ_rad*cos(dpf*12), glider_alt, circ_rad*sin(dpf*12)>,
- <circ_rad*cos(dpf*13), glider_alt, circ_rad*sin(dpf*13)>,
- <circ_rad*cos(dpf*14), glider_alt, circ_rad*sin(dpf*14)>,
- <circ_rad*cos(dpf*15), glider_alt, circ_rad*sin(dpf*15)>,
- <circ_rad*cos(dpf*16), glider_alt, circ_rad*sin(dpf*16)>,
- <circ_rad*cos(dpf*17), glider_alt, circ_rad*sin(dpf*17)>,
- <circ_rad*cos(dpf*18), glider_alt, circ_rad*sin(dpf*18)>,
- <circ_rad*cos(dpf*19), glider_alt, circ_rad*sin(dpf*19)>,
- <circ_rad*cos(dpf*20), glider_alt, circ_rad*sin(dpf*20)>,
- <circ_rad*cos(dpf*21), glider_alt, circ_rad*sin(dpf*21)>,
- <circ_rad*cos(dpf*22), glider_alt, circ_rad*sin(dpf*22)>,
- <circ_rad*cos(dpf*23), glider_alt, circ_rad*sin(dpf*23)>,
- <circ_rad*cos(dpf*24), glider_alt, circ_rad*sin(dpf*24)>,
- <circ_rad*cos(dpf*25), glider_alt, circ_rad*sin(dpf*25)>,
- <circ_rad*cos(dpf*26), glider_alt, circ_rad*sin(dpf*26)>,
- <circ_rad*cos(dpf*27), glider_alt, circ_rad*sin(dpf*27)>,
- <circ_rad*cos(dpf*28), glider_alt, circ_rad*sin(dpf*28)>,
- <circ_rad*cos(dpf*29), glider_alt, circ_rad*sin(dpf*29)>,
- <circ_rad*cos(dpf*30), glider_alt, circ_rad*sin(dpf*30)>,
- <circ_rad*cos(dpf*31), glider_alt, circ_rad*sin(dpf*31)>,
- <circ_rad*cos(dpf*32), glider_alt, circ_rad*sin(dpf*32)>,
- <circ_rad*cos(dpf*33), glider_alt, circ_rad*sin(dpf*33)>,
- <circ_rad*cos(dpf*34), glider_alt, circ_rad*sin(dpf*34)>,
- <circ_rad*cos(dpf*35), glider_alt, circ_rad*sin(dpf*35)>,
- <circ_rad*cos(dpf*36), glider_alt, circ_rad*sin(dpf*36)>,
- <circ_rad*cos(dpf*37), glider_alt, circ_rad*sin(dpf*37)>,
- <circ_rad*cos(dpf*38), glider_alt, circ_rad*sin(dpf*38)>,
- <circ_rad*cos(dpf*39), glider_alt, circ_rad*sin(dpf*39)>
- }
-
- #include "glider.obj"
-
- xrotate glider.obj 5 ; a little bit of banking
- yrotate glider.obj -dpf*FRAME-90 ; make it face the right direction
- translate glider.obj glider_path[FRAME] ; put it in the right place
- instance glider.obj
-
- /***************
- *
- * background stuff
- *
- ***************/
-
- camera {
- loc <100, glider_alt*2, 20>
- target <0, glider_alt, 0>
- hfov 55
- }
-
- lamp {
- loc <10, 80, 2>
- }
-
- color red { diff <1, 0, 0> }
- color white { diff <1, 1, 1> }
- check rw_check {
- patt1 red
- patt2 white
- xsize 10
- ysize 10
- zsize 10
- }
-
- paragram {
- patt rw_check
- loc <-circ_rad*2, gnd_alt, -circ_rad*2>
- v1 <circ_rad*4, 0, 0>
- v2 <0, 0, circ_rad*4>
- }
-
-